【レポート】Startup to enterprise: Build frontend and fullstack apps that scale #AWSreInvent #FWM205
こんにちは。クラスメソッドのハウンです🐏
今日は AWS re:Invent 2024 "スタートアップから企業へ:拡張可能なフロントエンドおよびフルスタックアプリの構築" のセッションレポートを書きます。
本セッションでは、AWS Amplifyを利用して、スタートアップがどのように企業に成長できるかを、顧客事例を共に説明していました。
AWS Amplifyは、専門開発チームにエンドツーエンドの経験と立証されたパターンを提供して生産性を加速化し、AWSインフラの速度と安定性を備えた構築を支援します。このような内蔵パターンの使い方と、CDKでAWSバックエンドをカスタマイズできるAmplifyの柔軟性について調べてみてください。このセッションでは、実際のシナリオの概要を提供し、Amplifyの新しいエンタープライズ中心機能を紹介して、AWSで安全で拡張可能なクラウド接続アプリケーションをこれまで以上に簡単に構築、配布、およびホスティングできるようにサポートします。
セッション動画は YouTubeに公開されてますので、ご参考まで。
セッション内容
なぜ、Amplifyか?
一般的にウェブでのフルスタック開発といえば、HTML、CSS、JavaScriptなどのフロントエンド開発後、バックエンド環境と通信できるAPIを呼び出すのが一般的です。近頃はAWS FargateやAWS LambdaやGraphQLリゾルバでサーバレス環境の構築が可能になり、データベースの種類にもこだわらなくなりました。
その分、フロントエンド開発者がフルスタックを開発することになる場合が増えました。このフルスタック開発をAWS Amplifyで実現できます。
顧客事例
イタリアの Abitという企業のCEOがAmplifyの利用事例について説明しました。
Abitは生物の多様性を分析して農夫たちが収穫量と品質を高められる方案を模索できるように助けるソフトウェアです。
衛星データ、気象データのようなデータソースを使用して、一方では生物多様性指数を計算し、もう一方では土壌が未来にどのように進化するかを予測し、顧客に生物多様性指数に対するサービスや改善策を提供します。
組織費用も重要でしたが、タイムリーに農業ソリューションを提供しなければならないため、タイミングと敏捷性も重要だったため、AWS Amplifyが開発に適していたそうです。
その結果、6ヶ月でMVPの開発が可能になり、開発費用を70%ほど削減、市場進出も早く可能になったということです。
後に人工衛星データが農業に重要だということを知り、Sage Makerを利用して収集した人工衛星データを分析し、AWS Amplifyと簡単に統合して利用することができたそうです。
Amplify Gen 2の紹介
Amplify Gen 2は今年の上旬に正式リリースされました。
以下の3点を重点に開発されたそうです。
- TypeScriptを中心に開発に集中できるようにする
- Amplify Hostingでコードを簡単に配布できるように、GitブランチとGitプッシュを導入
- CDKをベースに構築可能。Amplifyが提供しないサービスはCDKを利用して拡張可能
認証
AWS Amplifyは、ログイン機能を追加するために事前に構築されたUIコンポーネントライブラリが用意されています。
ユーザーが希望する形にカスタマイズすることもでき、マルチファクト認証やパスワード検索などの機能も備えているため、会員登録機能を隠すこともできます。
事前に構築されたライブラリを使用したくない場合は、JavaScript、TypeScriptクライアントライブラリを代わりに使用したり、Amazon Cognitoと直接作ったUIを繋げることもできます。
データ
AWS Amplifyは基本的にMySQLおよびPostgreSQLと接続できますが、既に使用中のAmazon RDSのような関係型データベースへの接続も可能です。データベースに合うGraphQL APIをAWS AppSyncを利用して自動的に構築してくれるため、CRUDのイベントサブスクリプションが容易です。
最近、Events APIというpub/sub方式のAPIも提供し始めたそうです。
ストレージ
AWS Amplifyは、S3バケットを利用できるライブラリを提供します。データのアップロード、署名されたURLの再取得、データリストの作成などの作業を行うことができ、他のAPIとアップロードを追跡することもできます。
また、最近ではストレージブラウザという新しい機能が追加され、S3バケットに対して視覚的インターフェースを提供します。 Amazon Cognitoのような認証機能を使用している場合、各ユーザーが自分のバケットを持ってファイルをアップロードおよび削除したり、リストを照会するなどの活用も可能だそうです。
AI
AWS AmplifyにAmplify AI Kitという新機能が導入されました。リソースファイルを使用すると、システムプロンプトにアクセスできるモデルと予想出力結果を定義することができます。そのあと、APIを利用すれば、そのモデルと対話することができます。
Amplify AI Kitでは、オープンソースクライアントAPIライブラリとUIコンポーネントライブラリを提供します。チャットインターフェイスのためのUIコンポーネントライブラリと一部のUIコンポーネントAPIはReactアプリで使用することができます。
Amplify Hosting
Amplify Hostingは、ウェブ開発ホスティングプラットフォームがサポートすると予想されるSSRフレームワークや、React/Angular/Vue.jsのようなSPAフレームワークおよび静的サイトジェネレータをサポートします。
ユーザー指定ドメインをサポートし、Amazon Route 53を通じて既存の登録機関を指すように設定することができます。細分化されたアクセス制御機能も提供しており、Gitブランチを基盤とした各環境を他の環境に切り替えることができます。
ビルド通知、フック、ブランチプレビュー機能もあり、新しい機能が常時追加されているそうです。
最後に
AWS Amplifyを利用して市場に進出した事例を直接聞くことができてよかったです。
一時期 AWS Amplifyを使って遊んでいていたりもしましたが、それから結構時間が経ち、Amplifyも多くの機能が追加され、実際に使用されるプロダクトもあるというほど成長したサービスになっていたことに驚きました。
最後にAmazon Q Developerという生成AIを活用したソフトウェア開発アシスタントサービスも紹介していましたが、Swiftはまだインライン提案だけで使用可能とのことだったため、今後コードレビュー機能が追加された時に活用してみたいと思いました!